A. Field of the Invention
This invention relates generally to graphic user interfaces for computer systems and, more particularly, to methods and apparatus for providing a window access panel.
B. Description of the Related Art
Many modem computer systems employ graphic user interfaces that provide a separate "window" for each active task (as used herein, the term "task" includes both application programs and documents). Familiar examples include the Macintosh user interface from Apple Computer, Inc., and the Windows 95 user interface from Microsoft Corp. Such user interfaces facilitate computing because they provide a convenient way for a user to manage multiple tasks that are concurrently executing on the same computer.
Some user interfaces take this concept a step further by providing support for multiple workspaces. An example of such a user interface is the Unix Common Desktop Environment (CDE), which is based upon the Hewlett-Packard Visual User Environment. CDE was developed jointly by a group of companies including Sun Microsystems, Inc., Hewlett-Packard, and International Business Machines. A workspace is a collection of tasks that are employed to accomplish a specific objective. For example, a user may have one workspace for creating a newsletter and another for personal organization. The newsletter workspace may contain windows for numerous tasks, including word processing, drawing, and desktop publishing. Similarly, the personal organization workspace may contain windows for tasks that provide calendaring, scheduling, and addressing capabilities. A user of an interface that supports multiple workspaces can switch between those workspaces as needed, and the computer displays windows belonging to the selected workspace.
This capability of having multiple windows, while elegant in many respects, becomes somewhat cumbersome when the number of windows becomes large. Having numerous windows leads to a cluttered desktop appearance and makes it difficult for the user to locate a specific window corresponding to a task. As used herein, the term "task" may include software executing using a computer processor. Depending on the size of the display screen and on the task actively manipulated by the user, some of the windows may be completely visible while others may be partially visible or completely hidden.
Additional problems arise in user interfaces that support multiple workspaces. For example, a user may desire to display the same window in more than one workspace. In doing so, the user may desire to have a window in one workspace located at a different screen position, or sized differently than, the corresponding window in another workspace.
These problems have been addressed somewhat by others. For example, Microsoft has created a "Taskbar" for the Windows 95 operating system that typically resides at the bottom of the user's screen. A user may configure the Taskbar to reside out of view, normally, and to slide open when the mouse pointer touches the edge of the screen. Whenever a user launches a task, a window for that task is opened on the display (also referred to as a desktop), and a button for that task is added to the Taskbar. A Windows 95 user can choose to "hide" a task by selecting a button in the top right corner of the corresponding window. This causes the computer to remove the corresponding window from the desktop, but the button for the task remains in the Taskbar. The user can also "show" a previously hidden task by using a mouse to point at a button in the Taskbar and clicking the mouse button. This causes the computer to display the corresponding window on the desktop. The user can also "close" a task by selecting a button in the top right comer of the task's window. This causes the computer to terminate execution of the program, remove the corresponding window from the desktop, and remove the task's icon from the Taskbar.
Although the Taskbar provides significant window manipulation capabilities, it does not address the problem of window management in a user interface that supports multiple workspaces. This is primarily because Windows 95, itself, does not support multiple workspaces.
CDE provides a menu and dialog mechanism for managing window displays in multiple workspaces, but this mechanism has several deficiencies. For example, when a CDE user launches a task in a particular workspace, a corresponding window is opened in that workspace only. If the CDE user desires to view that particular window in another workspace, the user must remember which workspace contains the desired window, switch to that workspace, use a menu and dialog to specify the first workspace, and then switch back to the first workspace. Moreover, the window appears in the same screen position and at the same size in each workspace; any change in screen position or size in one workspace affects the screen position and size in all other workspaces.
There is therefore a need for a system that alleviates these problems and allows a user to easily select and manipulate windows in a user interface that supports multiple workspaces.